package se.webbzon.boltzmann.battle.battleaction.punch;

import java.util.List;

import se.webbzon.boltzmann.battle.battleaction.BattleAction;
import se.webbzon.boltzmann.battle.battleaction.BattleActionFactoryIcon;
import se.webbzon.boltzmann.battle.battleaction.SingleHostileBattleActionFactory;
import se.webbzon.boltzmann.battle.object.npc.BattleNPC;
import se.webbzon.boltzmann.resource.Resources;
import se.webbzon.oschi01.worldarea.WorldArea;

public class PunchActionFactory extends SingleHostileBattleActionFactory {
	
	/*============================================================
	Constructors
	============================================================*/

	/** Creates a new punch action factory. **/
	public PunchActionFactory() {
		super(new Icon());
	}
	
	/*============================================================
	Public Methods
	============================================================*/
	
	@Override public BattleAction makeBattleAction(	WorldArea world,
													BattleNPC caster,
													List<BattleNPC> targets) {
		return new PunchAction(world,caster,targets);
	}

	@Override public boolean hasIcon() {
		return true;
	}
	
	@Override public BattleActionFactoryIcon getIcon() {
		return new Icon();
	}
	
	/*============================================================
	Private Classes
	============================================================*/
	
	private static final class Icon extends BattleActionFactoryIcon {

		/*============================================================
		Constructors
		============================================================*/
		
		public Icon() {
			super("Punch", Resources.getImageSet("icon_punch").get(0));
		}
		
	}

}
